Indistinguishable Predicates: A New Tool for Obfuscation
نویسندگان
چکیده
Opaque predicates are a commonly used technique in program obfuscation, intended to add complexity to control flow and to insert dummy code or watermarks. We survey a number of methods to remove opaque predicates from obfuscated programs, hence defeating the intentions of the obfuscator. Our main contribution is an obfuscation technique that introduces opaque constant predicates that are provably indistinguishable from obfuscations of certain other predicates in the program. Our technique resists all known efficient static attacks on opaque predicates. We present an evaluation of our implementation of the scheme. This includes measurements of its performance impact on an obfuscated instance versus a vanilla one and an experimental verification that the obfuscator is functionality preserving.
منابع مشابه
Manufacturing opaque predicates in distributed systems for code obfuscation
Code obfuscation is a relatively new technique of software protection and it works by deterring reverse engineering attempts by malicious users of software. The objective of obfuscation is to make the logic embedded in code incomprehensible to automated program analysis tools used by adversaries. Opaque predicates act as tool for obfuscating control flow logic embedded within code. In this posi...
متن کاملGeneralized Dynamic Opaque Predicates: A New Control Flow Obfuscation Method
Opaque predicate obfuscation, a low-cost and stealthy control flow obfuscation method to introduce superfluous branches, has been demonstrated to be effective to impede reverse engineering efforts and broadly used in various areas of software security. Conventional opaque predicates typically rely on the invariant property of well-known number theoretic theorems, making them easy to be detected...
متن کاملObfuscating Point Functions with Multibit Output
We study obfuscation of point functions with multibit output and other related functions. A point function with multibit output returns a string on a single input point and zero everywhere else. We provide a construction that obfuscates these functions. The construction is generic in the sense that it can use any perfectly one-way (POW) function or obfuscator for point functions. Analyzing this...
متن کاملOpaque Predicates Detection by Abstract Interpretation
Code obfuscation and software watermarking are well known techniques designed to prevent the illegal reuse of software. Code obfuscation prevents malicious reverse engineering, while software watermarking protects code from piracy. An interesting class of algorithms for code obfuscation and software watermarking relies on the insertion of opaque predicates. It turns out that attackers based on ...
متن کاملEncrypt-Augment-Recover: Function Private Predicate Encryption from Minimal Assumptions in the Public-Key Setting
We present new public-key predicate encryption schemes in the standard model that are provably function private under standard computational assumptions. A large class of existing function private constructions in the public-key setting impose highly stringent requirements on the min-entropy of predicate distributions, thereby limiting their applicability in the context of realworld predicates....
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- IACR Cryptology ePrint Archive
دوره 2017 شماره
صفحات -
تاریخ انتشار 2017